package com.fund.user.entity;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fund.serializer.LongToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

import static com.fund.utils.AppDateUtil.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.fund.utils.AppDateUtil.TIME_ZONE_DEFAULT;

/**
 * 用户投资信息表(TInfo)表实体类
 *
 * @author makejava
 * @since 2023-02-15 15:06:58
 */
@Data
@Accessors(chain = true)
@SuppressWarnings("serial")
public class TInfo extends Model<TInfo> {


    @TableId
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long infoId;
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long userId;
    /**
     * （模拟手头计算投资基金）
     */
    private Double infoTotalMoney;
    /**
     * 用户仓位使用金额       （现已投资基金金额+未来收益+未来基金买卖变化）靠算出来的
     */
    private Double infoOccupyMoney;
    /**
     * 入驻系统后收益  （+=用户入驻平台后的收益）         算养基表中的基金信息。第二天才算。
     */
    private Double infoYjzsProfit;
    /**
     * 用户昨日收益    （第二题天才显示）  第二天的时候，一起存入redis中
     */
    private Double infoYjzsTomProfit;
    /**
     * 建仓时间
     */
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private Date infoDate;


    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.infoId;
    }
}

